package model;

import dominio.factory.FactoryGame;
import dominio.individuos.Villano;
import dominio.investigacion.Caso;
import dominio.investigacion.Expedientes;
import dominio.investigacion.Mapamundi;
import dominio.investigacion.OrdenDeArresto;
import dominio.ubicaciones.Pais;

public class CarmenSandiegoAppModel {
	
	private FactoryGame factory = new FactoryGame();
	private Pais paisActual;
	private Pais paisAnterior;
	private OrdenDeArresto ordenDeArresto;
	
	private static final CarmenSandiegoAppModel instance = new CarmenSandiegoAppModel();
	
	public static CarmenSandiegoAppModel getInstance() {
		return instance;
	}

	public FactoryGame getFactory() {
		return this.factory;
	}
	
	public void setFactory(FactoryGame factory) {
		this.factory = factory;
	}	
	
	////
	
	public Caso getCaso() {
		return this.getFactory().getCaso();
	}
	
	public Expedientes getExpedientes() {
		return this.getFactory().getExpedientes();
	}
	
	public Mapamundi getMapamundi() {
		return this.getFactory().getMapamundi();
	}
	
	////
	
	
	public CarmenSandiegoAppModel() {
		this.paisActual =  this.getCaso().getPaisDelRobo();
	}

	public Pais getPaisActual() {
		return this.paisActual;
	}
	
	public void setPaisActual(Pais pais) {
		this.paisActual = pais;
	}

	public Pais getPaisAnterior() {
		return this.paisAnterior;
	}
	
	public void setPaisAnterior(Pais pais) {
		this.paisAnterior = pais;
	}

	public OrdenDeArresto getOrdenDeArresto() {
		return ordenDeArresto;
	}

	public void setOrdenDeArresto(OrdenDeArresto ordenDeArresto) {
		this.ordenDeArresto = ordenDeArresto;
	}

	public void emitirOrdenContra(Villano villano) {
		this.getOrdenDeArresto().setResponsable(villano);
		villano.setTieneOrdenDeArresto(true);
	}
	
	public void viajar(Pais pais) {
//		Pais pais = this.getMapamundi().buscarPais(nombrePais);
		this.setPaisAnterior(this.getPaisActual());
		this.setPaisActual(pais);
	}
	
	public static void main(String[] args) {
		
	}
	
}
